package com.cskaoyan.javase.oop2._1extends._10final._3variable._3static.classload;
/**
 * 访问类的静态成员,是典型的类加载时机,会类加载这个类,该类的静态代码块会输出.
 * (了解)但是访问类的全局常量,在某些场景下,不会触发类加载,该类的静态代码块不会执行
 * 哪些场景:
 * 当访问类中使用"字面值常量"赋值的全局常量时,并不会触发该类的类初始化,该类的静态代码块并不会输出(特殊场景)
 * 但是如果访问类中创建对象赋值的全局常量,仍然正常类加载,静态代码块正常执行
 *
 * @since 17:33
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        // System.out.println(A.num);
        // System.out.println(A.VAR);
        // System.out.println(A.VAR2);
        // System.out.println(A.VAR3);
        System.out.println(A.VAR4);
    }
}
class A{
    static {
        System.out.println("A类加载了!");
    }
    static int num = 100;
    static final int VAR = 666;
    static final double VAR2 = 0.1;
    static final String VAR3 = "hello";
    static final String VAR4 = new String("hello");
}
